/*
 * Copyright (C), 2002-2017, 苏宁易购电子商务有限公司
 * FileName: CustomerDetailVo.java
 * Author:   15050536
 * Date:     2017年6月29日 上午9:37:56
 * Description: //模块目的、功能描述      
 * History: //修改记录
 * <author>      <time>      <version>    <desc>
 * 修改人姓名             修改时间            版本号                  描述
 */
package com.suning.sawp.member.vo;

import java.io.Serializable;

import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.codehaus.jackson.annotate.JsonIgnore;

import com.suning.sawp.constants.ConfigConstants;
import com.suning.sawp.member.constant.MemberConstants;

/**
 * 客户资料详情vo
 *
 * @author 15050536 石键平
 */
public class CustomerDetailVo implements Serializable {

	/**
	 */
	private static final long serialVersionUID = 4959601940657309267L;

	@JsonIgnore
	private Long detailId;

	private String name;

	private String mobile;

	private String custNo;

	private String source;

	private String expectDate;

	private String expectPay;

	private String buyType;

	private String mode;

	private String employeeName;

	private String cateCode;

	private String createTime;

	/**
	 * 意向品类
	 */
	private String intentCates;

	/**
	 * 意向商品
	 */
	private String intentCmmdtys;

	/**
	 * 标签信息
	 */
	private String labelNames;

	@JsonIgnore
	private String expandId;

	public Long getDetailId() {
		return detailId;
	}

	public void setDetailId(Long detailId) {
		this.detailId = detailId;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getMobile() {
		return mobile;
	}

	public void setMobile(String mobile) {
		this.mobile = mobile;
	}

	public String getCustNo() {
		return custNo;
	}

	public void setCustNo(String custNo) {
		this.custNo = custNo;
	}

	public String getSource() {
		if (String.valueOf(MemberConstants.STORE_EXPEND).equals(source)) {
			return "门店外拓";
		} else if (String.valueOf(MemberConstants.INQUIRY_NOT_BUY).equals(source)) {
			return "询价未购";
		}
		return "其他";
	}

	public void setSource(String source) {
		this.source = source;
	}

	public String getExpectDate() {
		return expectDate;
	}

	public void setExpectDate(String expectDate) {
		this.expectDate = expectDate;
	}

	public String getExpectPay() {
		return expectPay;
	}

	public void setExpectPay(String expectPay) {
		this.expectPay = expectPay;
	}

	public String getBuyType() {
		if (String.valueOf(MemberConstants.SINGLE).equals(buyType)) {
			return "单品";
		} else if (String.valueOf(MemberConstants.MULTIPLE).equals(buyType)) {
			return "套购";
		}
		return "其他";
	}

	public void setBuyType(String buyType) {
		this.buyType = buyType;
	}

	public String getMode() {
		if (String.valueOf(MemberConstants.PRE_RECHARGE).equals(mode)) {
			return "预充值锁定";
		} else if (String.valueOf(MemberConstants.INTENTION_CUSTOMER).equals(mode)) {
			return "意向客户";
		}
		return "其他";
	}

	public void setMode(String mode) {
		this.mode = mode;
	}

	public String getEmployeeName() {
		return employeeName;
	}

	public void setEmployeeName(String employeeName) {
		this.employeeName = employeeName;
	}

	public String getCateCode() {
		String cateName = ConfigConstants.DEFAULT_CATE_MAP.get(cateCode);
		if (StringUtils.isEmpty(cateName)) {
			cateName = "未知";
		}
		return cateName;
	}

	public void setCateCode(String cateCode) {
		this.cateCode = cateCode;
	}

	public String getExpandId() {
		return expandId;
	}

	public void setExpandId(String expandId) {
		this.expandId = expandId;
	}

	public String getIntentCates() {
		return intentCates;
	}

	public void setIntentCates(String intentCates) {
		this.intentCates = intentCates;
	}

	public String getIntentCmmdtys() {
		return intentCmmdtys;
	}

	public void setIntentCmmdtys(String intentCmmdtys) {
		this.intentCmmdtys = intentCmmdtys;
	}

	public String getLabelNames() {
		return labelNames;
	}

	public void setLabelNames(String labelNames) {
		this.labelNames = labelNames;
	}

	public String getCreateTime() {
		return createTime;
	}

	public void setCreateTime(String createTime) {
		this.createTime = createTime;
	}

	@Override
	public String toString() {
		return ToStringBuilder.reflectionToString(this, ToStringStyle.SHORT_PREFIX_STYLE);
	}
}
